package org.dromara.quick.chat.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;

/**
 * 频道用户表，记录频道的订阅者及其相关状态信息
 * @TableName im_channel_user
 */
@TableName(value ="im_channel_user")
@Data
public class ImChannelUser {
    /**
     * (唯一标识) 频道用户表的唯一标识编号，系统自动生成，用于区分不同的频道用户记录
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * (关联频道ID) 关联 channel_list 表中的频道编号，表明该用户所属的频道
     */
    private String channelId;

    /**
     * (用户编号) 订阅该频道的用户编号，关联平台用户表中的用户编号
     */
    private Long userId;

    /**
     * (是否为黑名单) 表示用户是否在该频道的黑名单中，0 代表不是，1 代表是
     */
    private Integer isBlacklist;

    /**
     * (是否为白名单) 表示用户是否在该频道的白名单中，0 代表不是，1 代表是
     */
    private Integer isWhitelist;

    /**
     * (是否封禁) 表示用户在该频道内是否被封禁，0 代表未封禁，1 代表已封禁
     */
    private Integer isBanned;

    /**
     * (类型) 该频道的类型，1 代表个人频道，2 代表群聊频道
     */
    private Integer type;

    /**
     * (创建时间) 该频道用户记录的创建时间，系统自动记录
     */
    private Date createTime;
}